home *** CD-ROM | disk | FTP | other *** search
- # include "TransSkel.h"
-
- # include "FLMaca.h"
- # include "FaceLift.h"
-
-
- /* ---------------------------------------------------------------- */
- /* String Operations */
- /* ---------------------------------------------------------------- */
-
- /*
- * Copy src to dst
- */
-
- void
- CopyString (StringPtr src, StringPtr dst)
- {
- BlockMove (src, dst, (long) (src[0] + 1));
- }
-
-
- /*
- * Append src to dst
- */
-
- void
- AppendString (StringPtr src, StringPtr dst)
- {
- BlockMove (&src[1], dst + dst[0] + 1, (long) src[0]);
- dst[0] += src[0];
- }
-
-
- /*
- * Compare two strings.
- * Return:
- * 0 s1 = s2
- * < 0 s1 < s2
- * > 0 s1 > s2
- */
-
- short
- CompareString (StringPtr s1, StringPtr s2)
- {
- int i, len, diff;
-
- len = s1[0];
- if (len > s2[0])
- len = s2[0];
- for (i = 1; i <= len; ++i)
- {
- if ((diff = s1[i] - s2[i]) != 0)
- return (diff);
- }
- return (s1[0] - s2[0]);
- }
-
-
- /* ---------------------------------------------------------------- */
- /* Event Operations */
- /* ---------------------------------------------------------------- */
-
-
- /*
- * Return true if there's a mouse-down event pending (also flush the
- * event so that it's not used in some way other than as a signal.
- */
-
- Boolean
- MouseClick (void)
- {
- EventRecord theEvent;
-
- if (EventAvail (mDownMask, &theEvent))
- {
- FlushEvents (mDownMask, 0);
- return (true);
- }
- return (false);
- }
-
-
- /*
- * Make a window the front window and update it before proceeding.
- */
-
- void
- MakeFrontWind (WindowPtr w)
- {
- HiliteMenu (0);
- SelectWindow (w);
- ShowWindow (w);
- SkelDoEvents (updateMask + activMask);
- SetPort (w);
- }
-
-
- /* ---------------------------------------------------------------- */
- /* Memory Operations */
- /* ---------------------------------------------------------------- */
-
-
- Boolean
- ExpandHandle (Handle h, Size delta)
- {
- Size newSize;
-
- newSize = GetHandleSize (h) + delta;
- SetHandleSize (h, newSize);
- return (GetHandleSize (h) == newSize);
- }
-
-
- /* ---------------------------------------------------------------- */
- /* Miscellaneous */
- /* ---------------------------------------------------------------- */
-
-
- Boolean
- DiscardChanges (void)
- {
- short result;
-
- if (!mapModified)
- return (true);
- ParamText ("\pDiscard changes to current map?", "\p", "\p", "\p");
- result = SkelAlert (questAlrtNum, SkelDlogFilter (nil, true),
- skelPositionOnParentWindow);
- SkelRmveDlogFilter ();
- SkelDoUpdates ();
- return (result == 2); /* 2 is "OK" */
- }
-
-
-
- Boolean
- DestroyWarn (void)
- {
- short result;
-
- if (mapList->nLines == 0) /* if nothing there, don't bother, */
- { /* unless map has changed, then ask */
- if (mapModified) /* different question */
- return (DiscardChanges ());
- return (true);
- }
- ParamText ("\pThis operation destroys the current map.",
- "\p Do you wish to proceed?", "\p", "\p");
- result = SkelAlert (questAlrtNum, SkelDlogFilter (nil, true),
- skelPositionOnParentWindow);
- SkelRmveDlogFilter ();
- SkelDoUpdates ();
- return (result == 2); /* 2 is "OK" */
- }
-
-
- /*
- * Display a message in a generic alert.
- */
-
- void
- Message (StringPtr s1, StringPtr s2, StringPtr s3, StringPtr s4)
- {
- ParamText (s1, s2, s3, s4);
- (void) SkelAlert (msgeAlrtNum, SkelDlogFilter (nil, true),
- skelPositionOnParentDevice);
- SkelRmveDlogFilter ();
- SkelDoUpdates ();
- }
-
-
- void
- Message1 (StringPtr s1)
- {
- Message (s1, "\p", "\p", "\p");
- }
-
-
- void
- Message2 (StringPtr s1, StringPtr s2)
- {
- Message (s1, s2, "\p", "\p");
- }
-
-
- void
- Message3 (StringPtr s1, StringPtr s2, StringPtr s3)
- {
- Message (s1, s2, s3, "\p");
- }
-